1. Field of the Invention
This invention relates to the field of communications, and in particular to the field of data communications among devices via a single channel path.
2. Description of Related Art
The use of a serial interface between components is often preferable to a parallel interface. The use of a serial interface for communicating data can provide for significant cost savings. The cost of the media to carry the serial information is less than that of a parallel interface. If a wired connection is used, fewer wires and simpler connectors are required between the devices; if a wireless connection is used, fewer channels are required between the devices. The communicating devices will also be less costly because the interconnection ports, such as pads on an integrated circuit or pins on a printed circuit board, are often more costly than the circuitry required to convert data between parallel and serial forms. And, particularly in integrated circuit design, the number of available interconnection ports is often a fixed constraint, from both a cost and feasibility viewpoint. Typically, to achieve the benefits of a serial interface, a single channel communications path is allocated for communications to and from each device.
A common protocol that is used for single channel communications is a xe2x80x9ccollision avoidancexe2x80x9d protocol. When a device has information to send, it waits for a quiet period on the communications channel, then broadcasts its information. By waiting until the channel is unused before communicating, one device does not purposely interfere with another device that is already using the single communications channel. However, in this protocol, it is possible that two devices may each monitor the channel, detect a quiet period, and then each start their respective transmission on the single channel. Two (or more) simultaneous transmissions on a single channel is termed a xe2x80x9ccollisionxe2x80x9d, and neither transmission will be recoverable at their intended receiver. To compensate for the likelihood of collisions, typical protocols provide for a collision recovery scheme. Traditionally, the protocol requires that each transmitter monitor the channel to detect a collision and take appropriate action when a collision is detected. Typically, the appropriate action is to cease transmission (commonly termed xe2x80x9cback offxe2x80x9d), then recommence transmission at the next detected quiet period. To avoid repeated collisions between the same devices after a collision, the protocol typically requires that each device attempt a retransmission after a random duration of the quiet period. In this manner, the device having the shorter random duration will commence transmission and the device with the longer random duration will detect this transmission and wait until the next quiet period.
The collision detectionxe2x80x94back offxe2x80x94retransmit scenario is particularly problematic to high speed peripheral devices such as magnetic disks, CDs, and the like. Typically, the peripheral has access to the data at particular times, such as when the appropriate area of a spinning disk is under the read head of the device. If the data cannot be communicated when the data is available for access, the peripheral device must contain a storage buffer to hold the data until it can be transmitted, or loose a revolution, thereby reducing the transfer rate. Additional collisions, or additional delays incurred while awaiting a retransmission opportunity, will require additional storage buffers, or a cessation of data access until buffer space becomes available. Also, because of the random nature of collisions and the aforementioned dependency on traffic volume, it is difficult to assure a given throughput without providing an overabundance of storage. That is, to assure a given throughput regardless of the impact of collisions, the amount of storage provided must be sufficient to buffer the effects of the worst-case collision scenario; consequently, during normal operations, with average occurrences of collisions, most of the storage provided for collision compensation will be unused.
Another problem with the collision avoidance scenario is that a device may be precluded access to the single channel for extended durations while other devices transmit on the single channel. This is particularly problematic if data flow is controlled via communications on the single channel. For example, one device may have a limited buffer for receiving data from another device, and may be configured to transmit a xe2x80x9ccease transmissionxe2x80x9d signal to the sending device to prevent a buffer overflow. If the receiving device cannot gain access to the single channel because the transmitting device continues to gain access to the single channel before the receiving device, the transmitting device will continue to transmit, and overflow the receiver""s buffer.
It is an object of this invention to provide a method and apparatus for communications on a single channel that provides an equal likelihood of access to the communications channel to each device utilizing the channel. It is a further object of this invention to provide a minimum bandwidth allocation to each device utilizing the channel. It is a further object of this invention to provide a maximum latency delay to each device utilizing the channel.
These objects and others are achieved by providing a commnunications protocol that forces a xe2x80x9cfairnessxe2x80x9d delay between each sequential transmission from a device, thereby allowing another device to gain access to the communications channel during this fairness delay period. In a preferred embodiment, the duration of each transmission is also limited, thereby providing a maximum latency period for a device to gain access to the communications channel, and a minimum bandwidth allocation to the device. By providing a protocol having a guaranteed minimum bandwidth and maximum latency, a device in accordance with this invention need only contain the storage resources needed for the latency period.